iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
Mobile Development

從零開始的Swift開發心路歷程2系列 第 9

【從零開始的Swift開發心路歷程2-Day9】簡單的FMDB練習(完)-查詢資料

  • 分享至 

  • xImage
  •  

我們可以利用UISearchBar來完成查詢資料的功能
首先拉一個UISearchBar到畫面,並且讓他的delegate = self

searchBar.delegate = self

接著Xcode會要你加上UISearchBarDelegate,TableView會在搜尋框開始輸入、正在輸入、結束輸入時都reloadData,這樣資料就可以即時更新

extension MainVC: UISearchBarDelegate{
    func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
        resumeTableView.reloadData()
    }
    
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
        search(searchText)
        if searchText == "" {
            fetchData()
            resumeTableView.reloadData()
        }
    }
    
    func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
        resumeTableView.reloadData()
    }
}

搜尋資料的function,意思是如果SearchBar內的文字不是空的就進行以下的程式碼,將有包含輸入文字大小寫的資料篩選後回傳

func search(_ searchTerm: String) {
        if searchTerm.isEmpty == false {
            resumeList = Database.shared.fetchData().filter {
                $0.name.contains(searchTerm.lowercased()) || $0.name.contains(searchTerm.uppercased())
            }
        }
        resumeTableView.reloadData()
}

以下是還沒搜尋時的資料

而當在SearchBar輸入E時,可以看到Ben和Ellim都因為包含E字母而顯示出來,Carol則沒有顯示

如此一來搜尋功能就完成啦!FMDB的練習也在此告一段落了,明天會來介紹CloudKit,那我們就明天見啦!


上一篇
【從零開始的Swift開發心路歷程2-Day8】簡單的FMDB練習(6)-修改資料
下一篇
【從零開始的Swift開發心路歷程2-Day10】CloudKit簡介
系列文
從零開始的Swift開發心路歷程230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言